Systems and methods of on-line booking of cruises

ABSTRACT

In one embodiment, systems and methods for on-line selling and booking of cruises enable a plurality of customers, agents, and cruise lines to interact with a cruise selling and booking system via communication mediums. An interactive tool is provided for compiling, reviewing, and processing information obtained from the cruise lines, customers, and agents. Customers and/or agents may search for and compare various cruise packages to find a cruise that best suits the customer needs and desires.

RELATED APPLICATION

[0001] This application claims the benefit of U.S. Provisional Application No. 60/168,871 filed Dec. 3, 1999, the disclosure of which is hereby incorporated by reference.

FIELD OF THE INVENTION

[0002] The present systems and methods relate to on-line booking of cruises and in particular concern applications designed to facilitate cruise price comparisons, reservations, booking, and customer management by travel agents as well as individual customers.

BACKGROUND

[0003] The growth of the cruise industry has created an increase in the number of passenger cruise lines that sail each year. Each cruise line offers a variety of sailings that vary depending on destination, travel date, cruise ship, cabin category, cabin room, and so forth. While such variety is appealing to potential customers, finding the cruise package that best fits the customer's preferences and budget is often difficult.

[0004] One of the most daunting tasks for a travel agent is keeping track of all of the available cruise sailings. The large amount of information pertaining to each sailing combined with constantly changing information such as pricing and availability makes managing the cruise sailing data very difficult. In addition, each cruise line tends to use its own format for categorizing, storing, and accessing cruise data. Commonly, travel agents choose to work with a select number of the major cruise lines and avoid offering travel packages from the smaller or less familiar cruise lines limiting the customer's choices. In many instances, customers must call several different travel agents to compile a complete set of cruise options which is time-consuming and frustrating for the customer and burdensome for the travel agents.

[0005] Another common problem is that travel agents do not offer generic cruise packages, but instead spend large amounts of time determining the preferences of each individual customer. A travel agent spends, on average, well over one hour with each customer to find cruises that match the customer's preferences taking into account, for example, past cruise bookings and individual preferences. To actually complete a cruise booking transaction, it takes an average of ten to fifteen phone calls wherein the travel agent is constantly contacting the customers and the cruise lines. This process can take several weeks, and on many occasions, the customer may decide not to book the cruise. Historically, travel agents have been unable to track and manage this customer information. For example, if a customer decides not to book a cruise, but calls back a week later, the travel agent has to rely on his notes to recall the customer's preferences, the cruise packages they discussed, the quotes given to the customer, and so forth.

[0006] Another limiting factor of conventional approaches is that separate computer systems are typically required to complete transactions between the travel agents, their customers, and the various cruise lines. For example, one system may provide an interface between the cruise line and the agent, another may allow the agent to process cruise payments, and another may collect standard contact information from the customer. In addition, many of the cruse lines require travel agents to purchase or lease a dedicated computer system that will allow the travel agents to directly tie into and communicate with the specific cruise line. Most of these “proprietary” computer systems use highly archaic programs that have a poorly designed interface. Acquisition of the cumbersome systems is a costly endeavor for small scale travel agencies that may not have enough business to support many of the major cruise lines' systems. Also, these systems are limited in expandability, are difficult to keep updated, and may become legacy systems (outdated) the day that they are installed. A further problem with such systems is that they typically incorporate information from a single or a limited number of cruise lines. This results in the travel agent having to purchase or lease different computer systems and software packages to have access to multiple sets of cruise line information increasing the travel agent's costs which typically must be passed onto the customer.

[0007] Another difficulty with conventional approaches is that they fail to factor in customer flexibility. For some customers, the price may be negotiable; for others, the dates of travel may be adjusted. Such flexibility is often ignored and only those cruises that meet a rigid set of criteria are typically presented to the customer. For example, a customer may prefer a cruise to Alaska departing on specific date. The customer may, however, be interested in other cruises to Alaska that depart before or after the specific date. Moreover, the customer may also want to know about the “special discount” cruise to Hawaii departing during the same time and for the same price. Finding cruise packages that only fall within a rigid set of criteria leave many cruise packages ignored, even though the cruise packages may be of interest to the customer.

[0008] Another common problem is that the large number of options makes it difficult to compare accurately various cruise packages. The customer may find prices for competing cruise packages, but unless the customer knows the exact details of each cruise package, it is difficult for the customer to figure out which cruise package is the “best deal.” For example, suppose X offers a cruise to Panama for $3000 and Y offers a similar cruise to Panama for $2800. Y appears to be a better deal until the customer learns that X's price is for the Presidential Suite and Y's price is for a Fourth Class cabin. The many different categories of cruise cabin levels further exacerbate these problems. For example, a single cruise ship may have eight to ten different cabin categories. In addition, other options such as special promotions may also affect the comparison. For example, X may offer a “special” senior citizen rate of $1700 for a cruise to Panama with lodging in a First Class cabin. Such a promotion may be of interest to customers that qualify for the special rate. Cabin category levels and special promotions are just two of many factors that are part of cruise packages. As more and more factors are considered, comparing cruise packages becomes increasingly more complex, thus making a comprehensive comparison of all available cruise choices to a particular destination a daunting task even for a seasoned travel agent.

[0009] Thus, travel agents are required to rely on expensive, outdated, and proprietary systems, telephone and facsimile communication, as well as separate customer management systems to sell and book cruises.

SUMMARY OF THE INVENTION

[0010] One embodiment of the present invention is a method for selling and booking cruise packages utilizing a web browser program to electronically communicate with a cruise service web server via a data communications network. The method comprises utilizing the web browser program to log onto the cruise service web server over the data communications network, submitting to the cruise service web server customer profile information relating to a customer, and submitting to the cruise service web server customer sailing preference information relating to the customer. The method also comprises receiving a set of cruise sailings in a first electronic document from the cruise service web server that relate to the customer sailing preference information, selecting a plurality of cruise sailings from the set of cruise sailings, and submitting the plurality of cruise sailings to the cruise service web site. The method further comprises receiving detailed cruise information in a second electronic document form the cruise service web server relating to the plurality of cruise sailings, interactively comparing the detailed cruise information, submitting a booking request for one of the plurality of cruise sailings to the cruise service web site, and receiving a booking confirmation from the cruise service web site.

[0011] Another embodiment of the present invention is a cruise booking system implemented in a web server environment wherein a plurality of remote users use web browser programs to electronically communicate with the cruise booking system via a data communications network that provides information for a plurality of cruise sailings and facilitates booking of cruises. The cruise booking system comprises a customer database configured to electronically store customer data, a cruise line database configured to electronically store cruise line data, and a customer management program module configured to track and manage information relating to a plurality of customers in the customer database. The cruise booking system also comprises a cruise information program module configured to search for and provide information about requested cruise sailings in the cruise line database and a cruise booking program module configured to book reservations for a selected cruise sailing.

[0012] An additional embodiment of the present invention is a method for booking cruises utilizing a cruise web server environment to electronically communicate with a plurality of remote users using web browser programs. The method comprises receiving a range of search criteria from a remote user's web browser, obtaining cruise package information that relates to the range of search criteria, and sending cruise package information to the remote user's web browser program. The method further comprises receiving a selected cruise package from the remote user's web browser program and booking the selected cruise package.

[0013] Another embodiment of the present invention is a network node in a network comprising a user node having a browser program coupled to the network, the user node providing requests for information on the network. The network node comprises a cruise booking node responsive to a request from the user node to return cruise package information that relates to a range of search criteria and a request from the user node to book a selected cruise package from the user node.

[0014] An additional embodiment of the present invention is a system for booking cruises. The system comprises an electronic data structure of cruise package information wherein the cruise package information includes information from a plurality of cruise lines, a first program module configured to receive requests for cruise package information, and a second program module configured to obtain cruise package information from the data structure based at least upon a search request. The system also comprises a third program module configured to prepare cruise package information for electronic display, a fourth program module configured to output cruise package information for electronic display, and a fifth program module configured to book a cruise package based at least upon a booking request.

[0015] Another embodiment of the present invention is a method of assisting the community of travel agents in selling cruises to a plurality of customers in a computer system that implements a web site that is accessible to a community of travel agents using web browser programs to communicate via a data communications network. The method comprises receiving an customer identifier from a travel agent's web browser program, wherein the customer identifier represents a customer, using the customer identifier to retrieve from an electronic customer database corresponding customer information, and receiving customer preferences from the travel agent's web browser program, wherein the customer preferences include at least one of the customer's preferred dates of travel, preferred cruise destination, or preferred cruise line supplier. The method also comprises using least one of the customer preferences or the customer information to retrieve from an electronic cruise sailing database a set of potential cruise packages, transmitting the set of potential cruise packages to the travel agent's web browser program, wherein the set of potential cruise packages are viewable in a first electronic web document, and receiving an electronic identifier representing a selected cruise package from the travel agent's web browser program, wherein the selected cruise package is chosen from the set of potential cruise packages. The method further comprises booking the customer on the selected cruise package.

[0016] An additional embodiment of the present invention is a method of assisting the community of customers in selecting and booking cruises in a computer system that implements a web site that is accessible to a community of customers using web browser programs to communicate via a data communications network. The method comprises receiving a customer identifier from a customer's web browser program, using the customer identifier to retrieve from an electronic customer database corresponding customer information, and receiving customer preferences from the customer's web browser program, wherein the customer preferences include at least one of the customer's preferred dates of travel, preferred cruise destination, or preferred cruise line supplier. The method also comprises using least one of the customer preferences or the customer information to retrieve from an electronic cruise sailing database a set of potential cruise packages and transmitting the set of potential cruise packages for display in a web document to the customer's web browser program. The method further comprises receiving an electronic identifier representing a selected cruise package from the customer's web browser program, wherein the selected cruise package is chosen from the set of potential cruise packages and booking the customer on the selected cruise package.

[0017] Another embodiment of the present invention is a system for selling cruises to a customer implemented in a web server environment wherein a plurality of remote users utilize web browser programs to electronically communicate with the system via a data communications network. The system comprises a cruise search software module configured to receive a set of customer preferences from a remote user's web browser program, to search for a set of cruise packages based on at least the set of customer preferences, and to transmit the set of cruise packages to the user's web browser program; and a reservation software module configured to receive a reservation request from the user's web browser program, wherein the reservation request is selected from the set of cruise packages, and to reserve a cruise package corresponding to the reservation request.

[0018] An additional embodiment of the present invention is a computer-implemented system which implements a computer program wherein remote users search for cruise package information and book cruises over an electronic communications network. The system comprises a customer management software system configured to manage customer bookings and track customer preferences, an agent management software system configured to track travel agent interaction with customer accounts and determine and maintain records of compensation for the respective travel agents for successful customer bookings, and a cruise line management software system configured to maintain information on a plurality of cruise sailings wherein the information on the plurality of cruise sailings is used by the customer management software system to manage customer bookings and track customer preferences.

[0019] Another embodiment of the present invention is a method of assisting a community of travel agents utilizing the web browser programs to select and book cruises via electronic communication with the remote cruise booking web site in a computer system that implements web browser programs that are capable of accessing a remote cruise booking web site. The method comprises submitting an electronic customer identifier to the remote cruise booking web site, wherein the customer identifier represents a customer, determining customer preferences wherein the customer preferences represent preferred cruise sailing information, and submitting an electronic representation of the customer preferences to the remote cruise booking web site. The method also comprises receiving a set of potential cruise packages formatted for display in a first electronic web document from the remote cruise booking web site, submitting an electronic cruise package identifier representing a selected cruise package to the remote cruise booking web site, wherein the selected cruise package is chosen from the set of potential cruise packages, and submitting a booking request to the remote cruise booking web site.

[0020] An additional embodiment of the present invention is a method of assisting customers in selecting and booking cruises in a computer system that implements a web browser program that is capable of accessing a remote cruise booking web site via an electronic communications network. The method comprises submitting a customer identifier to the remote cruise booking web site, determining customer preferences wherein the customer preferences represent preferred cruise sailing information, and submitting customer preferences to the remote cruise booking web site. The method also comprises receiving a set of potential cruise packages from the cruise booking web site for display in a first web document, submitting a selected cruise package electronic identifier to the remote cruise booking web site, wherein the selected cruise package is chosen from the set of potential cruise packages, and submitting a booking request to the remote cruise booking web site.

[0021] Another embodiment of the present invention is a system for selling cruises to a customer implemented as part of a cruise web server environment wherein a plurality of remote users communicate with the system via a data communications network utilizing web browser programs. The system comprises a preferences programming module configured to receive a set of customer preferences from a remote user's web browser program, a cruise search programming module configured to search for cruises based on at least the set of customer preferences and to return a set of cruise packages to the remote user's web browser program, and a cruise comparison programming module configured to format and transmit the set of cruise packages to the remote user' web browser program. The system also comprises a reservation programming module configured to receive a reservation request from the remote user's web browser program wherein the reservation request is selected from the set of cruise packages and a cruise booking programming module configured to reserve a cruise package corresponding to the reservation request.

[0022] An additional embodiment of the present invention is a method for selling and booking cruise packages utilizing a web browser program to electronically communicate with a cruise service web server via a data communications network. The method comprises means for utilizing the web browser program to log onto the cruise service web server over the data communications network, means for submitting to the cruise service web server customer profile information relating to a customer, and means for submitting to the cruise service web server customer sailing preference information relating to the customer. The method also comprises means for receiving a set of cruise sailings for display in a first electronic document that relate to the customer sailing preference information, means for selecting a plurality of cruise sailings from the set of cruise sailings, and means for submitting the plurality of cruise sailings to the cruise service web server. The method further comprises means for receiving detailed cruise information for display in a second electronic document relating to the plurality of cruise sailings, means for interactively comparing the detailed cruise information, means for submitting a booking request for one of the plurality of cruise sailings to the cruise service web server, and means for receiving a booking confirmation from the cruise service web server.

[0023] Another embodiment of the present invention is a method for booking cruises utilizing a cruise web server environment to electronically communicate with a plurality of remote users using web browser programs. The method comprises means for receiving a range of search criteria from the remote user's web browser program, means for obtaining cruise package information that relates to the range of search criteria, and means for sending cruise package information to the remote user's web browser. The method also comprises means for receiving a selected cruise package from the remote user's web browser program and means for booking the selected cruise package.

[0024] For purposes of summarizing the invention, certain aspects, advantages, and novel features of the invention are described herein. It is to be understood that not necessarily all such advantages may be achieved in accordance with any particular embodiment of the invention. Those skilled in the art will recognize that the invention may be embodied or carried out in a manner that achieves one advantage or a group of advantages as taught herein without necessarily achieving other advantages as may be taught or suggested herein.

BRIEF DESCRIPTION OF THE DRAWINGS

[0025] These and other features will now be described with reference to the drawings summarized below. These drawings and the associated description are provided to illustrate embodiments of the invention, and not to limit the scope of the invention. Throughout the drawings, reference numbers are re-used to indicate correspondence between referenced elements. In addition, the first digit of each reference number indicates the figure in which the element first appears.

[0026]FIG. 1 illustrates a high-level block diagram of one embodiment of the present invention.

[0027]FIG. 2A illustrates a high-level block diagram of one embodiment of the present invention.

[0028]FIG. 2B illustrates a high-level block diagram of an additional embodiment of the present invention.

[0029]FIG. 3A illustrates a high-level block diagram of one embodiment of cruise selling and booking system.

[0030]FIG. 3B illustrates a high-level block diagram of an additional embodiment of cruise selling and booking system.

[0031]FIG. 4 illustrates a flowchart of one embodiment of the cruise selling and booking process.

[0032]FIG. 5 illustrates one embodiment of a main menu display.

[0033]FIG. 6 illustrates one embodiment of a customer search display.

[0034]FIG. 7 illustrates one embodiment of a qualification display.

[0035]FIG. 8 illustrates one embodiment of a pricing and availability display.

[0036]FIG. 9 illustrates one embodiment of a rate option display.

[0037]FIG. 10 illustrates one embodiment of a price matrix display.

[0038]FIG. 11 illustrates one embodiment of a compare display.

[0039]FIG. 12 illustrates one embodiment of a cruise booking worksheet display.

[0040]FIG. 13 illustrates one embodiment of a reservation information display.

[0041]FIG. 14 illustrates one embodiment of a payment information display.

DETAILED DESCRIPTION

[0042] The present invention relates to systems and methods for on-line selling and booking of cruises. FIG. 1 illustrates one embodiment of the invention wherein a plurality of customers, agents, and cruise lines interact with a cruise selling and booking system 110 via communication mediums 120 such as the Internet 425. Cruise lines may interact directly with the cruise selling and booking system 110 and/or via a cruise line interface system 130 that stores information for one or more cruise lines. The cruise selling and booking system 110 in the illustrated embodiment provides an interactive tool for compiling, reviewing, and processing information obtained from the cruise lines, customers, and agents. The customer may obtain information about the cruise lines utilizing components of the cruise selling and booking system 110 directly or through interaction with an agent. The customer is thus able to find information about various cruises packages and to book a cruise package either with or without the interaction of an agent utilizing a series of resources as will be discussed in greater detail below and illustrated in subsequent figures.

[0043] I. On-Line Booking of Cruises

[0044] An overview of one embodiment of a cruise selling and booking system 110 is shown in FIG. 2A. In the exemplary system, a customer contacts an agent via a telephone and the agent uses a computer (hereinafter “agent computer 240”) to connect to the Internet 125 and to communicate with the cruise selling and booking system 110. In one embodiment, the cruise selling and booking system 110 includes a server component 210, a cruise selling and booking component 220, and a database collection 230. In one embodiment, the database collection 230 includes a customer database 232, a cruise line database 234, an activity database 236, and an agent database 238. It is recognized that the information stored in the database collection 230 may be discretely stored in multiple independent databases, combined in a single database, or a combination thereof.

[0045] Using the agent computer 240, the agent accesses the components of the cruise selling and booking system 110 to find information about the customer, to provide the customer with information about cruise sailings from the cruise line database 234, and to book cruise packages as desired by the customer. Additionally, the agent may collect and store information about the customer in the customer database 232 and may further access resources of the agent database 238 which stores information relating to the agent and his customers, allowing the agent to better manage his customer communication, scheduling, and interactions.

[0046] In another embodiment, shown in FIG. 2B, a customer may access resources of the cruise selling and booking system 110 using a computer (hereinafter “customer computer 250”) via the Internet 125. In one embodiment a customer may have access to a portion of the functions and resources to which an agent has access, for example, allowing the customer to compare and book cruises with or without additional interaction with an agent. It is recognized that in other embodiments a customer may have the same or greater access. In further embodiments, both agents and customers may access the cruise selling and booking system 110.

[0047] One sample process of selling and booking a cruise will now be described wherein an agent is interacting with the cruise selling and booking system 110. It is recognized that in other embodiments, however, the same and/or similar process may be used by a customer to book a cruise.

[0048] The agent uses the agent computer 240 to log onto the website and to submit customer identification information to the cruise selling and booking system 110. The cruise selling and booking system 110 receives the customer identification information, searches for the appropriate customer data in the customer database 232, and returns the related customer information to the agent computer 240. In one embodiment, the cruise selling and booking system 110 may also manage requests for adding new customers to the customer database 232 and/or updating customer information for existing customers in the customer database 232.

[0049] The agent may then use the customer information to help the customer define a set of cruise preferences. The customer information may include, for example, booking history, favorite cruise lines, destinations, travel dates, and so forth. The agent may then submit the customer's cruise preferences to the cruise selling and booking system 110. The cruise selling and booking system 110 receives the cruise preferences and queries the cruise line database 234 for cruise packages that are a close match to the submitted cruise preferences. In other embodiments, the cruise selling and booking system 110 may receive cruise package information from other sources such as, for example, by directly contacting individual cruise lines, by contacting third party booking engines, by querying proprietary databases, and so forth. After receiving the cruise package information, the cruise selling and booking system 110 compiles and returns the cruise sailings that match the customer's preferences and may also return other cruise sailings that may be of interest to the customer.

[0050] In one embodiment, the cruise selling and booking system 110 compiles and formats the returned query cruise package information from the various databases, cruise lines, and/or booking engines in a uniform manner so as to allow the information to be presented in a user-friendly format. In one embodiment, the cruise selling and booking system 110 may also store information received from databases, cruise lines, and/or external booking engines in the cruise line database 234.

[0051] The agent receives the cruise package information and may discuss the various packages with the customer. In one embodiment, the cruise package information may include cabin availability and/or pricing information.

[0052] When the customer has decided which cruise to book, the agent sends a cruise reservation/booking request to the cruise selling and booking system 110. The cruise selling and booking system 110 receives the cruise reservation/booking request and verifies the availability of the space aboard the cruise line of interest and returns a cruise reservation/booking confirmation to the agent. If the customer, however, decides not to book a cruise, the cruise selling and booking system 110 may store the customer's cruise preferences and/or the returned cruise sailing information in the database collection 230.

[0053] II. Benefits of On-Line Booking of Cruises

[0054] The cruise selling and booking system 110 allows a customer and/or agent to search for and compare the various cruise packages to find a cruise that best suits the customer needs and desires. One benefit of one embodiment is that customers and/or agents have access to up-to-date cruise package information from multiple cruise lines without having to spend unnecessary quantities of time requesting and compiling information independently from each cruise line. Because the cruise selling and booking system 110 is available for immediate access via the communication mediums 120, the customers and/or agents may request information such as pricing and cabin availability and receive accurate and timely responses. The information is desirably accessible throughout all hours of the day and is typically not dependent on the cruise line having service representatives provide the information to the customer or agent via traditional telephone and facsimile communication.

[0055] Another benefit of one embodiment is that the cruise selling and booking system 110 may take into account customer flexibility by enabling the customer to specify a range of preferences. For example, the customer may want to search for cruises that depart anytime during a seven-day period or for cruises traveling to a general region of the world. In addition, the cruise selling and booking system 110 may select cruises that may be of interest to the customer but are different from those specified in the customer's cruise package preferences. For example, the cruise selling and booking system 110 may search for cruises packages that depart on dates before or after those specified by the customer, cruise packages that provide special discounts for attributes that match the customer's profile (e.g., a children cruise free), cruise packages that match preferences that the customer previously requested, as well many other cruise packages.

[0056] An additional benefit of one embodiment is that the cruise selling and booking system 110 may be utilized by agents and/or customers. In some embodiments, the cruise selling and booking system 110 may provide different functionality in comparing and searching cruises to agents, whereas in other embodiments, the customers and agents may have access to the same functionality.

[0057] A further benefit of one embodiment is that the cruise selling and booking system 110 allows for accurate and visually accessible comparisons of cruise packages. The agent/customer computer 240, 250 may display and compare detailed sets of competing cruise packages at the same time so as to facilitate identifying similarities and differences among cruises. Thus, the value of a particular cruise may be readily compared to help the customer and/or agent identify those cruises which both suit the customer's preferences and provide the customer with the most luxury and options for the money the customer is willing to spend.

[0058] Another advantage of one embodiment is that the cruise selling and booking system 110 provides a single system that finds cruises which best suit the needs of the customer; interacts with the database collection 230 and cruise lines to perform functions related to reserving and booking of the selected cruise; processes and manages payment information such as credit card or bank account information to collect payments for the selected cabins on the cruise ship and cruise sailing of choice; and upon receiving confirmation from the cruise line that the cabin has been booked, passes the confirmation information to the customer and/or agent to finalize the transaction.

[0059] An additional advantage of one embodiment is that the cruise selling and booking system 110 advantageously includes a number of customer management features increasing productivity and booking success rates. As discussed above, a customer information database may store detailed information about each customer such that the customer and/or agent may be able to input, update, and retrieve customer information. This detailed information helps the agent recall the individual characteristics of the customers with whom he interacts and provides a useful tool for improving customer relations. For example, in addition to personal information such as name, address, and contact numbers, the agent may store information about the customer's cruise preferences and previous sailing experiences to help create an appropriate cruise package for the customer without repeatedly questioning the customer. The customer feels more at ease and enjoys a more personable experience in cruise booking when the agent can recall his personal information which may otherwise be forgotten by agents who deal with numerous individuals on a daily basis.

[0060] An additional benefit of one embodiment is that customers and/or agents may use customer information to match upcoming cruises with customers who would be potentially interested in purchasing based on personal preferences and previous sailing experiences. Cruises which the customer may be more likely to able to afford, may be prioritized in favor of more expensive cruises. The cruise selling and booking system 110 may use the customer's marital status, age, occupation, and/or recreational interests to tailor the cruise search to include cruises which cater to people of similar interests. Use of customer information to select cruises increases productivity and booking success rates of the agent when interacting with customers in a number of ways, such as, for example, reducing the amount of time used to collect customer information, establishing a better rapport with customers by personalizing the interaction and having detailed customer history at hand without the customer having to provide the same information each time they contact the agent, allowing the agent to quickly assess which cruises are best suited for an individual customer, and providing detailed comparisons of various cruises and pricing levels to help the customer decide which cruise to select.

[0061] Furthermore, one advantage of one embodiment is that the cruise selling and booking system 110 provides an intuitive, easy-to-use interface. The cruise selling and booking system 110 may be implemented using a highly portable language and format. In one embodiment, the cruise selling and booking system 110 may be implemented in a centralized server environment accessible via the Internet 125 by multiple users on various platforms running a myriad of standard browser applications. The customer and/or agent's setup costs and installation time required to access the cruise selling and booking system 110 is minimized and updates to the cruise selling and booking system 110 can be provided at the centralized server location without causing customer or agent interruption.

[0062] III. On-Line Selling and Booking System

[0063] In one embodiment, the agents and/or customers interact with computers to access the cruise selling and booking system 110 via communication mediums 120.

[0064] A. Communication Mediums

[0065] The communication mediums 120 as shown in FIGS. 2A and 2B include the Internet 125. The Internet 125 is a global network of interconnected computers capable of sending and receiving information between one another. The structure of the Internet 125, which is well known to those of ordinary skill in the art, includes a network backbone comprising communications channels such as copper wire, optical fiber, or satellite based interconnections between numerous computers, hubs, and routers which control, direct, and maintain information passed between computers. Additional networks branch from the above-mentioned backbone, and these branches, in turn, have sub-networks branching from them, and so on. Typically, information is passed through the network in the form of packets which are discrete pieces the information desirably sent through the network. These packets of information are encoded in a form interpretable by the network infrastructure and may support features such as data compression, encryption, and error correction to optimize the speed and efficiency by which the information is transferred. For a more detailed description of the structure and operation of the Internet 125, please refer to “The Internet Complete Reference,” by Harley Hahn and Rick Stout, published by McGraw-Hill, 1994.

[0066] One popular segment of the Internet 125 is the World Wide Web (or Web). The World Wide Web comprises many thousands of computers which utilize the Internet 125 infrastructure to serve and distribute information. Typically, a server system is capable of two-way communication with other computers and can desirably send information to other computers which request the information or content stored on the server system. The information stored on the server system is typically interpreted using a software package known as a browser, which is capable of displaying graphical, textual, audio and/or visual information.

[0067] Some of the server systems, which provide information on the World Wide Web, are often referred to as “websites” and interact with other computers on the World Wide Web. Generally, each website has an associated electronic page or series of electronic pages which the server sends to those computers requesting the information. The requested information generally takes the form of an electronic page (or web page) encoded in one or more specific languages that is interpreted by the requesting computer and the browser which it runs. Several such languages commonly used by web servers include, but are not limited to, Hypertext Markup Language (“HTML”), JAVA, JAVA Script, Extensible Markup Language (“XML”), Active Server Pages (“ASP”), and CGI scripting. The web page provides the requesting computer with a document that organizes the presentation of the information into a display using text, graphical images, audio, and/or video. Furthermore, the computer, on which the online document is viewed, may communicate with the website by sending and receiving information through interface objects such as, for example, fields, buttons, pull down menus, and key entered commands. For a more detailed description on the World Wide Web, please refer to “How to Set Up and Maintain a World Wide Web Site” by Lincoln D. Stein, published by Addison-Wesley Publishing Company, 1995.

[0068] One of ordinary skill in the art will recognize that the communication mediums 120 may be advantageously be comprised of one or more types of networks without detracting from the invention. The communication mediums 120 may include, by way of example, local area networks (“LANs”), wide area networks (“WANs”), public internets, private internets, a private computer network, a secure internet, a private network, a public network, a value-added network, interactive television networks, wireless data transmission networks, two-way cable networks, interactive kiosk networks, digital subscriber lines, cable modem lines, and the like. The disclosed invention is thus suitable for providing connectivity through many different forms of communication mediums 120, however, it will be further discussed in the context of connecting through the Internet 125. In addition, it is recognized that one or more networks may be used to access the cruise selling and booking system 110. For example, a customer may interact with the cruise selling and booking system 110 via the Internet 125, an agent may interact with the cruise selling and booking system 110 via a LAN, and/or the cruise lines may interact with the cruise selling and booking system 110 via a wireless data transmission network. In another embodiment, the customers, agents, and cruise lines may all access the cruise selling and booking system 110 via the Internet 125.

[0069] B. User Computer

[0070] The agent computer 240 and/or customer computer 250 (“user computer 240, 250”) shown in FIGS. 2A and 2B are devices that allow the customer or agent to interact with cruise selling and booking system 110 via the communication mediums 120. In one embodiment, the user computer 240, 250 is a conventional personal computer equipped with a modem, Ethernet card, or other component which allows the computer to send and receive information through the communication mediums 120. Preferably, the user computer 240, 250 runs an appropriate operating system such as the Microsoft® Windows® 3.1, Microsoft® Windows® 98, Microsoft® Windows® 98 Second Edition®, Microsoft® Windows® Millennium Edition®, Microsoft® Windows® NT, Microsoft® Windows® 2000, Microsoft® Windows® CE, PalmOS®, Apple® MacOS®, Linux®, Solaris®, IRIX®, UNIX®, or IBM® OS/2® operating systems. As is conventional, a preferred operating system further includes a TCP/IP stack or other communications protocol which handles all incoming and outgoing message traffic passed over the communication mediums 120.

[0071] In other embodiments, the user computer 240, 250 may, for example, be a computer workstation, a local area network of individual computers, an interactive television, an interactive kiosk, a personal digital assistant, an interactive wireless communications device, cellular phone, or the like which interacts with the communication mediums 120. While in such systems, the operating systems may differ, the various operating systems may continue to provide the appropriate communication protocols needed to establish communication links with the communication mediums 120.

[0072] In one embodiment, the user computer 240, 250 utilizes several operational modules (not shown) including a customer or agent browser module. The browser module is a software program which allows a consumer to access different content providers through the communication mediums 120. In one embodiment, the browser module is the Netscape® Navigator developed by Netscape, Inc. or the Microsoft® Internet Explorer developed by Microsoft Corporation. One of ordinary skill in the art, however, will recognize that numerous other types of access software may also be used to implement an embodiment of the present invention. These other types of access software may, for example, include other types of Internet browsers, custom network browsers, two-way communications software, cable modem software, point-to-point software, and the like.

[0073] While the agent computer 240 and customer computer 250 are referred to as user computers 240, 250, it is recognized that the agent computer 240 and customer computer 250 may be implemented using different or the same hardware and/or software.

[0074] C. Cruise Selling and Booking System

[0075] In one embodiment, the cruise selling and booking system 110 includes a server component 210, a cruise selling and booking component 220, and a database collection 230 as illustrated in FIG. 3A.

[0076] As used herein, the words component and module refer to logic embodied in hardware or firmware or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, C++, VISUAL BASIC, JAVA, C, FORTRAN, JAVA Script, and so forth. A software component/module may be compiled and linked into an executable program, or installed in a dynamic link library, or may be written in an interpretive language such as BASIC. It will be appreciated that software components/modules may be callable from other components or from themselves, and/or may be invoked in response to detected events or interrupts. Software instructions may be embedded in firmware, such as an EPROM. It will be further appreciated that hardware components/modules may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units, such as programmable gate arrays or processors. The components described herein are preferably implemented as software components/modules, but may be represented in hardware or firmware.

[0077] 1. Server Component

[0078] In one embodiment, the cruise selling and booking system 110 includes a server component 210, as shown in FIG. 3A, that interacts with the cruise selling and booking component 220 and with the user computers 240, 250 via the communication mediums 120. The server component 210 may be configured to process messages from the user computer 240, 250, to send requests to the cruise selling and booking component 220, and to send response messages to the user computer 240, 250.

[0079] In one embodiment, the server component 210 is implemented as a web server which serves content over the Internet 125 using languages such as, the Hyper Text Markup Language (“HTML”). The web server may accept requests from browsers, such as, for example, the Netscape® Navigator or the Microsoft® Internet Explorer, and return the requested document(s) to the browsers. The web server may also utilize scripting programs, such as, for example, CGI scripts, SSL security, and Active Server Pages (“ASP”) to provide additional functionality. A wide variety of web servers may be used to implement the server component 210, such as, for example, AOLserver, the Apache server, the iServer, Microsoft IIS v5.0 server, Microsoft Site server, Netscape Enterprise server, WebSite Pro server, Xitami server, and so forth. Furthermore, the server component 210 may also be implemented using a variety of other servers, such as, for example, the BlueStone Sapphire server, the Interop server, a Netscape Server, an Oracle server, a SilverStream server, the Sybase Enterprise Server, the WebObjects server, and so forth. In addition, the server component 210 may be implemented using a variety of computer systems, such as, for example, a conventional general purpose computer using one or more microprocessors, such as, for example, a Pentium processor, a Pentium II processor, a Pentium Pro processor, an xx86 processor, an 8051 processor, a MIPS processor, a Power PC processor, or an Alpha processor, running a variety of platforms, such as, for example, Mac OS, OpenLinux, Red Hat Linux, Sun Solaris, SGI IRIX, Novel NetWare, Windows NT Server 4.0, and/or Windows 2000 Server.

[0080] 2. Cruise Selling and Booking Component

[0081] In one embodiment, the cruise selling and booking system 110 includes a cruise selling and booking component 220, as shown in FIG. 3A, that interacts with the server component 210 and the database collection 230. In other embodiments, it is recognized that the cruise selling and booking component 220 may also interact with external sources, such as, for example, proprietary cruise line systems, banking/financial systems, other travel agencies, external databases, and so forth. In one embodiment, the cruise selling and booking component 220 processes search requests from the server component 210, queries the database collection 230 and/or external sources for requested information, receives the query results from the various sources, processes the results, compiles the results into a set of data, and formats the results for presentation to the user via the server component 210.

[0082] The exemplary cruise selling and booking component 220 of FIG. 3A includes a cruise selling and booking process 310, a customer module 320, a cruise module 330, and a booking module 340. The cruise selling and booking process 310 guides the user through searching for cruise packages and booking a selected package. The exemplary customer module 320 includes a customer add process 322 that adds new customers to the customer database 232, a customer search process 324 that queries the customer database 232, and a customer update process 326 that updates an existing customer's information. The exemplary cruise module 330 includes a cruise information add process 332 that adds information about the cruise lines, the cruise ships, the cruise sailings, and/or the cruise packages to the cruise database, a cruise search process 334 that queries the cruise database, a cruise qualification process 336 that receives a set of cruise preferences and finds cruise sailing and/or cruise price information that matches the set of cruise preferences, and a cruise comparison process 338 that receives identifiers for multiple cruise sailings or packages and returns detailed information about the identified objects in a comparison format. The exemplary booking module 340 includes a cruise booking process 342 that receives cruise reservation/booking information and books the corresponding cruise package, and a cruise payment process 344 that receives cruise payment information and forwards the payment information to the appropriate entity.

[0083] An additional embodiment of a cruise selling and booking component 220 is illustrated in FIG. 3B. In addition to the customer module 320, the cruise module 330, and the booking module 340, the cruise selling and booking component 220 also includes an agent ownership module configured to track and manage agent of record relationships, a customer qualification module 360 configured to match a customer's preferences with a variety of cruise package options, a price comparison module 370 configured to present the user with pricing options and to provide price matrices of detailed pricing information, and a comparison module 380 configured to provide side-by-side comparisons of various cruise package and pricing information.

[0084] It is recognized that in other embodiments, the cruise selling and booking component 220 may include other processes (not shown) that provide information from the database collection 230 as well as other external sources.

[0085] The cruise selling and booking component 220 may be implemented using a variety of software and hardware components. For example, the cruise selling and booking component 220 may include a set of electronic page documents that are written in HTML code, ASP scripts, and so forth. As is well known in the art, standard HTML documents are web documents wherein the structure and layout are defined by a variety of tags and attributes and are capable of being read by standard browsers. Active Server Pages (“ASP”) is a server-based, script language developed by Microsoft Corporation that allows for the dynamic generation of HTML code via server and client program scripts. Rather than maintain separate script programs and electronic page documents, the script programs may be embedded in the active server pages to form a set of “smart” electronic page documents. As is well known in the art, ASP documents do not need to be compiled, they can run on any browser, and may allow the transfer of information from the database collection 230. For a more detailed description of Active Server Pages, please refer to “ASP in a Nutshell: A Desktop Quick Reference,” by A. Keyton Weissinger, published by O'Reilly & Associates, Inc., 1999.

[0086] In addition, the cruise selling and booking component 220 may include additional software modules programmed in variety of languages for processing user requests, performing data lookup, compiling sets of data, formatting data, and so forth.

[0087] In one embodiment, the cruise selling and booking component 220 is implemented on the same component as the server component 210, though it is recognized that in other embodiments, the cruise selling and booking component 220 may be implemented in a separate component. For more information on the types of computers and/or platforms that may be used to implement the cruise selling and booking component 220, please see the section above entitled “Server Component.”

[0088] 3. Database Collection

[0089] In one embodiment, the cruise selling and booking system 110 includes a database collection 230, as shown in FIGS. 3A and 3B, that stores data about the customers, the cruises lines, the activities, and the agents. The exemplary database collection 230 includes four databases, a customer database 232, a cruise line database 234, an activity database 236, and an agent database 238.

[0090] The customer database 232 includes information about the customers. Such information may include name, address, phone number, cruise history, cabin preference, family information, age, travel destination preference, as well as other travel-related information.

[0091] The cruise line database 234 may include information about various cruise lines, various cruise ships, and various cruise sailings. The information about specific sailings may further include information such as ship name, number, sailing destination, departure dates, number of cabins, cabin categories, dining room capacity, viewable maps of the ship, as well as other detailed cruise line information. In addition, the cruise line database 234 may include information such as cabin availability and pricing data. In one embodiment, the cruise line database 234 data may be entered manually by a travel agent or downloaded/received from the cruise lines and/or other sources.

[0092] In one embodiment, the cruise line database 234 enables information about the various cruise lines to be stored in a single database or database collection. The cruise lines have a myriad of data that is organized differently according to each cruise line. For example, the cruise lines tend to use their own proprietary naming and pricing schemes; they individually select how the data is selected, stored, and configured; and some cruise lines may provide data that other cruise lines do not. For example, many cruise lines use their own system for categorizing cabins and have also use their own pricing schemes.

[0093] In some embodiments, the cruise line database 234 may normalize all of the data from the various cruise lines into a uniform system. In other embodiments, the cruise line database 234 may be configured to accommodate a wide variety of data. For example, the cruise line database 234 may include a table of categories in which each cruise line may have its own unique set of categories ranked from most luxurious to most economical thus maintaining the individuality of each cruise line while at the same time enabling the various cruise line data to be compared. The cruise line database 234 may, for example, provide pricing information for the most luxurious cabins for cruise sailings on Cruise Line A and Cruise Line B even though the cruise lines use different cabin naming nomenclature and different category structures.

[0094] The activity database 236 includes information about the activities in the cruise selling and booking system 110. These activities may include brochures, leads, quotes, reservations, bookings, as well as other ongoing activity information. In one embodiment, the activity database 236 is closely linked with the customer database 232, the cruise line database 234, and the agent database 238.

[0095] The agent database 238 includes information about the agents that use the cruise selling and booking system 110. Agent information may include the agents' logins, passwords, access privileges, company, address, phone numbers, booking history, current commission, and so forth.

[0096] While the database collection 230 depicted in FIGS. 3A and 3B includes four separate databases, it is recognized that in other embodiments, the database collection 230 may include other databases and/or some of the exemplary databases may be combined.

[0097] In one embodiment, the database collection 230 may be implemented with Structured Query Language (“SQL”) code. The structured query language is a language standardized by the International Standards Organization (“ISO”) for defining, updating, and querying a relational database. It is recognized however, that other code may be used to access the database collection 230. For example, in one embodiment, the database collection 230 may interact with various accessory programs to store, retrieve, and process the information of the databases, such as, for example, dynamic link libraries (“DLLs”). DLLs (not shown) may interact with the server component 210, the cruise selling and booking component 220, and the database collection 230 directly, or with the database collection 230 via a database manipulation module, such as, for example, a Microsoft Database Access Object (“DAO”). The execution of the DLL may be called automatically from within the scripts or routines of the web page documents as needed and may not necessarily require the customer or agent explicitly launch a separate program or series of programs.

[0098] In one embodiment, the database collection 230 is implemented using a relational database, such as, for example, those sold by Oracle Corp. or Sybase. It is recognized however that other relational databases may be used and/or other types of databases may be used, such as, for example, object oriented databases, flat file databases, and so forth. Furthermore, the database collection 230 may be implemented as a single database with separate tables or as other data structures that are well know in the art such as linked lists, binary trees, and so forth.

[0099] In one embodiment, the database collection 230 is implemented as a separate component or separate components from the cruise selling and booking component 220 and/or the server component 210, though it is recognized that in other embodiments, the database collection 230 may be implemented on the same component as the cruise selling and booking component 220 and/or the server component 210. For more information on the types of computers and/or platforms that may be used to run the database collection 230, please see the section above entitled “Server Component.”

[0100] As noted above, one embodiment that is implemented using a web server (“web server environment”) provides several advantages. First, the web server environment does not require any dedicated hardware or software to be installed on the customer or agents computer which will utilize the cruise selling and booking system 110. This advantage may apply to both customers and agents in that they do not have the burden of expense normally associated with purchasing or licensing a dedicated system. Second, maintenance and upgrades of the cruise selling and booking system 110 may be centrally administrated and automatically processed with little or no intervention by those using the cruise selling and booking system 110. For example, the cruise line database 234 may be updated without the customer's knowledge. In addition, each computer which connects to the cruise selling and booking system 110 automatically receives and connects with the most appropriate software as determined by the web server of the cruise selling and booking system 110. In addition, the interactive interface of the cruise selling and booking system 110, like many interactive web pages, uses the familiar environment of a web browser running on the computer the customer or agent uses, thus, minimizing the learning time required to operate and become proficient with the cruise selling and booking system 110.

[0101] 4. One Embodiment of a Database Collection

[0102] One embodiment of the database collection 230 will now be described in detail, however, it is recognized that in other embodiments, different types of database schemes, tables, and/or fields may be used. For a more detailed description of this embodiment, please refer to Appendix A.

[0103] In one embodiment, the database collection 230 includes a client database, a supplier database, a case database, a staff member database, as well as a set of replicated tables. As is well known in the art, in one embodiment, the database collection 230 may be normalized, however, in other embodiments, various tables of the database collection 230 may be replicated so as to allow faster database access.

[0104] In one embodiment, the client database, which may also be referred to as a customer database 232, includes a variety of tables. The client database may include the following tables: client, company, recent activity, notes, cruise line, passenger, passenger medical needs, users, cruise ships, cruise activity, phone information, client supplier assignment, cruise group member, cruise frequent information, clients, payment header, passenger special occasion, consumer information, past sailing supplier, cruise region, cruise subregion, address information, household, cruise port, medical need, and cruise special occasion. Each of the tables may include several fields. For example, the company table may include fields such as, company name, company I.D., company areas, mailing address, city, state, zip code, country, time zone, phone, extension, fax, website address, contract number, primary contact, secondary contact, industry, notes, user name, and so forth. In addition, the passenger table may include fields such as, client user name, passenger user name, qualification date, home gateway, staff user name, home gateway type, home gateway abbreviation, status, air requested, user name, and so forth. A detailed description of one embodiment of a client database, including tables, fields, types and keys is illustrated in Appendix A.

[0105] In one embodiment, the supplier database, which may also be referred to as the cruise line database 234, also includes a variety of tables. The supplier database may include the following tables: supplier work payment detail, payment detail, cruise inventory contract, payment header, ship, company supplier, company CRS, cancellation detail, brochure, booking balance, unit commission paid, supplier, line item air, air class, finance, line item package, insurance information, insurance verification, itinerary, line item, itinerary cabin category, itinerary detail, itinerary region, customer refund, cruise air contract, cruise frequent information, supplier frequent level, supplier contract, supplier card, company, refund details, supplier contact address, rate, payment advice, matrix flight rule, air contract matrix, air contract, past sailing supplier, location package, package, cruise package, line item detail, supplier location, supplier TRNX field, supplier geographic region, transaction history, supplier note, cruise line, supplier product, supplier rank, supplier SABRE regions, supplier TRNX, supplier TRNX field value, and so forth. Each of the tables may include several fields. For example, the cruise air contract table may include fields such as cruise inventory contract number, location type number, location abbreviation, ship code, supplier number, start date, itinerary name, airline number, air counting code, class, and so forth. In addition, the insurance information table may include the fields supplier number, high booking amount, maximum number of nights, and so forth. A detailed description of one embodiment of the supplier database, including tables, fields, data types, and keys, is illustrated in Appendix A.

[0106] In one embodiment, the cases database, which may also be referred to as an activity database 236, includes a variety of tables. The cases database may include the following tables: cases, insurance verification, label print queue, booking balance header, mark down, mark down reason, passenger, synchronized audit, work payment detail, refund, refund request header, payment booking, payment detail, case note, case information, invoice comments, cancellation header, booking balance detail, aging report, audit aging commission, agent commission paid, line item, and so forth. Each of the tables may include several fields. For example, the refund table may include fields such as, I.D., case I.D., refund reason I.D., refund type I.D., disbursement batch number, refund status, refund amount, override address flag, void refund flag, middle initial, card expiration month, credit card expiration year, four digit code, look up by, look up by date, look up program, insert by, insert date, insert program, card number, card zip code, name on card, first name, last name, authorization user, void refund user, and so forth. In addition, the line item table may include fields such as case I.D., line item number, user name, location type number, supplier number, to location, from location, line item type number, roll up flag, departure date, arrival date, expiration date, parent line item number, status, quantity purchased, total sale, total tax, total commission, insert date, look up date flag, and so forth. A more detailed description of one embodiment of the cases database, including tables, fields, data types and keys, is illustrated in Appendix A.

[0107] In one embodiment, the staff member database, which may also be referred to as an agent database 238, includes a variety of tables. The agent database 238 may include the following tables: time tracker, time tracker type, time tracker, user, user groups, alert groups, groups, group permissions, permission areas, permissions, activities, position type, activity tasks, pay type, staff member address, address type, marital status type, employee language, language type, phone type, staff member phone, employee remark type, company property type, employee company property, employee status, employee status type, contract type, benefit type, employee contract, approved time sheet, employee benefit, team manager, team, time tracker manager, pay period, department, company department, time zone, company, staff department, clients, staff members, and so forth. Each of the tables may include several fields. For example, the permissions table may include fields such as, permission name, permission description, area name, core permission, is group permanent, is audience permanent, and so forth. In addition, the pay period table may include fields such as, for example, pay period I.D., pay period I.D. description, look up date, base date, look up by, number of days, look up program, insert date, insert by, insert program, and so forth. A detailed description of one embodiment of the staff members database, including tables, fields, data types, and keys, is illustrated in Appendix A.

[0108] In one embodiment, the database collection 230 may replicate several of the tables, as previously discussed, so as to improve database access time. Appendix A also includes a list of tables that may be replicated in order to improve processing time.

[0109] While Appendix A illustrates one embodiment of a detailed database collection 230, it is recognized that various implementations of the database collection 230 may be used. In addition, as previously discussed, other types of databases and/or other data structures may be used to implement the database collection 230.

[0110] A detailed description of embodiments of a compare display is disclosed in a concurrently filed application having the title “SYSTEMS AND METHODS OF COMPARING PRODUCT INFORMATION,” internal reference number TRAVL.017A, which is incorporated herein by reference. A detailed description of embodiments of pricing options and price matrices is disclosed in a concurrently filed application having the title “SYSTEMS AND METHODS OF DISPLAYING CRUISE LINE PRICING DATA,” internal reference number TRAVL.018A, which is incorporated herein by reference. A detailed description of one embodiments of managing agent ownership is disclosed in a concurrently filed application having the title “SYSTEMS AND METHODS OF MAINTAINING CLIENT RELATIONSHIPS,” internal reference number TRAVL.019A, which is incorporated herein by reference. A detailed description of embodiments of qualification is disclosed in a concurrently filed application having the title “SYSTEMS AND METHODS OF MATCHING CUSTOMER PREFERENCES WITH AVAILABLE OPTIONS,” internal reference number TRAVL.020A, which is incorporated herein by reference.

[0111] IV. Accessing the Cruise Selling and Booking System

[0112] In one embodiment, both customers and agents may access the cruise selling and booking system 110.

[0113] A. Customer Access

[0114] In one embodiment, a customer may access the cruise selling and booking system 110 without necessarily interacting with an agent as illustrated in FIG. 2B. For example, a customer may access the cruise selling and booking system 110 via a web-based service by utilizing a standard web browser on his own computer to connect to the cruise selling and booking system 110 web page. The customer may initiate a session by manually entering the cruise selling and booking system 110 web site address in the appropriate field of the browser, or the connection may be established automatically by configuring the browser to access the cruise selling and booking system 110 web page upon opening a browser window. When the connection has been established, the cruise selling and booking system 110 uses web pages to visually prompt the customer for input, collect information from the customer, and/or interactively guide the customer through the process of finding, pricing, and/or booking a cruise package. The information which is sent to the customer is formatted and visually presented in an easy to interpret manner and allows the customer to quickly and accurately find cruise packages which suit the customer's preferences. In one embodiment, should the customer desire the assistance of an agent, the cruise selling and booking system 110 may automatically store the information entered by the customer in the database collection 230 and an agent with access to the cruise selling and booking system 110 may subsequently retrieve the information. This feature provides improved customer/agent interactivity by saving customers from repeating information previously entered in the cruise selling and booking system 110 to each agent with whom they interact.

[0115] B. Agent Access

[0116] In another embodiment, the agent may use an agent computer 240, similarly configured as the customer computer 250 described above, to access the cruise selling and booking system 110 as illustrated in FIG. 2A. In one embodiment, agents and customers may access different cruise selling and booking systems 110 or the same cruise selling and booking system 110. Moreover, agents and customers may be given different types of access to the cruise selling and booking system 110. For example, the cruise selling and booking system 110 may permit an agent to access additional resources and web pages of the cruise selling and booking system 110 to which the customer may not have access such as commission information. Furthermore, in one embodiment, different agents may have different types of access to the cruise selling and booking system 110 depending on their status, such as, for example, agent in training, seasoned agent, manager, and system administrator.

[0117] In one embodiment, an agent may access the cruise selling and booking system 110 via a web-based service by utilizing a standard web browser on his computer to connect to the cruise selling and booking system 110 web page either manually or automatically as discussed above. When the connection has been established, the agent may access several features of the cruise selling and booking system 110. For example, an agent may access an interface to enter customer information into the cruise selling and booking system 110 databases for later retrieval. The agent may also search information stored in the cruise line database 234, such as detailed information and summaries with more complete descriptions and statistics of each cruise, detailed pricing and availability information about each cruise including actual cost and percentage markups. The agent may also narrow the number of cruises to be selected from based on a customer's profile and preferences and compare multiple cruise packages in a side-by-side manner. Furthermore, the agent may access cruise ship reservation, confirmation, booking, and payment features. These features allow the agent to sell and book cruises over the Internet 125.

[0118] V. Cruise Selling and Booking System Processes

[0119] The cruise selling and booking system 110 includes several processes, as shown in FIG. 3A, such as, a cruise selling and booking process 310, a collection of customer module 320 processes, a collection of cruise module processes 330, and a collection of booking module 340 processes.

[0120] A. Cruise Selling and Booking Process

[0121] One embodiment of an overview of a cruise selling and booking process 310 is illustrated in FIG. 4 and will now be described in more detail. For purposes of illustration, FIG. 4 will be described wherein the user is an agent though it is recognized that in other embodiments the user may be a customer.

[0122] Beginning at a start state (block 410), the cruise selling and booking process 310 proceeds to a login state (block 420) wherein the cruise selling and booking process 310 verifies the agent's login and password. Proceeding to a customer search state (block 430), the cruise selling and booking process 310 receives a set of customer identification information, and searches and retrieves the corresponding customer information from the customer database 232. Proceeding to a qualify state (block 440), the cruise selling and booking process 310 receives a set of customer preferences and searches and retrieves cruise sailing information that matches the customer's preferences. Proceeding to a cruise detail state (block 450), the cruise selling and booking process 310 receives selected cruise sailings and searches and retrieves detailed information, such as pricing and availability, for the selected cruise sailings. Proceeding to a booking state (block 460), the cruise selling and booking process 310 receives a selected cruise package and books the selected cruise package with appropriate cruise line. Proceeding to a payment state (block 470), the cruise selling and booking process 310 receives and processes the customer's payment information and proceeds to an end state (block 480).

[0123] Exemplary screen displays will now be discussed to further describe the various status of the cruise selling and booking process 310. The screen displays illustrate one embodiment of the invention, and it is recognized that in other embodiments, other screen displays may be used and/or other interfaces may be used such as a touch screen, a hand held device, or other interfaces.

[0124] 1. Login

[0125] In the start state (block 410), the process initializes and then proceeds to the login state (block 420) wherein the agent performs standard login procedures that are well known in the art. The login process ensures that only authorized users may access the web site and contents of the cruise selling and booking system 110 and/or determines the appropriate level of access for each user. Login procedures by entry of a username and password specifying a valid agent account on the cruise selling and booking system 110 are typically used to provide validation of the agent's status, though it is recognized that other procedures may be used. Securing the web site and allowing access to only authorized users is well known and readily understood by those of skill in the art. Once the agent attempts to login by sending the agent's assigned login identification and secure password to the cruise selling and booking process 310, the cruise selling and booking process 310 looks up the agent's login identification in the agent computer 240 database and verifies the agent's password. If the agent's login identification is not found or the password was not verified, then the cruise selling and booking process 310 returns an error message to the agent computer 240. If the agent's login identification is found and the password is verified, the cruise selling and booking process 310 proceeds to the customer search state (block 430).

[0126] a. Main Menu

[0127] In one embodiment, upon successful login, the agent is directed to a main menu web page, as illustrated in FIG. 5, which includes user interface tools, such as buttons or links, for accessing the various features of the cruise selling and booking system 110. For example, the exemplary main menu 510 display allows the agent to access features such as selling and booking 520, back office 530, inventory management 540, product management 550, and administrative features 560. The main menu 510 serves as a starting point for each of the features described above. In one embodiment, the agent may return to the main menu 510 throughout the cruise selling and booking system 110 process.

[0128] The main menu 510 may also provide the agent with an activity listing 570 which may include categories for bookings 571, brochures 572, leads 573, options 574, and quotes 575. In FIG. 5, each of the categories has an associated numerical value that indicates the number of currently active customers which fall into the activity listing 570 category. The purpose of the activity listing 570 is to provide the agent with a quick summary of information for those customers he should contact. Each activity listing 570 enables the agent to access a listing of the customers who fall within the activities groups described above. In the illustrated embodiment, the agent may select any of the activity listings 570 which will then direct him to a separate screen showing the details of the selected activity listing 570.

[0129] Additionally, the main menu may include a “to do” list 580 which includes subcategories such as phone calls 581 and tasks 582. The “to do” list 580 provides a reminder for activities for which the agent should initiate and follow up. In a similar manner to the activity listing 570 above, the agent may select any of the items in the “to do” list 580 in order to access a listing of customers who fall within the subcategories as well as information for contacting the customers.

[0130] To proceed to the customer search state (block 430), the agent may select the Selling and Booking feature.

[0131] 2. Customer Search

[0132] Proceeding to the customer search state (block 430), the agent is directed to a search web page 610, illustrated in FIG. 6, wherein the agent may select among a set of options related to searching customer information. In the exemplary search web page 610, the agent may search for customers based on data entered in fields which correspond to the information stored in the customer database 232.

[0133] The customer information may be organized in a set of fields 620 that are indexed within the database so as to be retrievable individually or in groups by the search process. For example, the exemplary query fields 620 allow the agent to search for a customer in a number of ways including the customer's last name 621, first name 622, state 623, zip code 624, phone number 625, customer number 626, order number 627, and/or reservation number 628.

[0134] After the agent enters the search information, the agent computer 240 sends the customer information to the cruise selling and booking system 110. The cruise selling and booking process 310 then receives the customer information and searches for customers in the customer database 232 that match the submitted information. If no matching customers are found, the cruise selling and booking process 310 sends a message to the agent computer 240 that no search results were found. If matching customers are found, the cruise selling and booking process 310 formats and returns the results of the search to the agent computer 240. The agent computer 240 displays the list of matching customers as a set of search results 630 and allows the agent to select a customer 631 and designate the selected customer as the “active customer.” For a more detailed description of one embodiment of the search state (block 430), see the section below entitled “Customer Module Processes—Customer Search Process.”

[0135] When a customer is active, the agent computer 240 and/or the cruise selling and booking system 110 may use the customer's stored information to enhance the cruise selling and booking process 310 as will be discussed in greater detail below.

[0136] The cruise selling and booking process 310 may also allow the agent computer 240 to perform additional searches wherein the agent may change the information contained in the search query fields 620 to find other customers. When a new search is performed the results of the previous search are discarded and the results of the new search are displayed in the search results section 630 of the search web page 610.

[0137] As discussed above, when a matching customer is found, the agent may select the customer and proceed to the qualification process state (block 440).

[0138] 3. Qualification

[0139] In the qualification state (block 440), the cruise selling and booking process 310 receives a customer's preferences and finds cruise sailings that match the customer's preferences. The qualification state allows the agent to reduce the number of cruise sailings he may present to the customer and to focus on the more appropriate cruise sailings. In the cruise industry, it is typical that there are many available cruises sailings which a customer could take within a specified time frame. In order to reduce the amount of time the agent spends describing individual cruise packages to the customer, it is more efficient and less frustrating to the customer to first narrow the choices of cruise sailings based on the customer's preferences. In one embodiment, the cruise selling and booking process 310 reduces or eliminates cruises of which the customer has no interest or cannot book based on a series of selectable criteria.

[0140] The customer's sailing preferences may include a variety of factors and may be based on information about the customer from the customer database 232, such as, for example, booking history, preferred suppliers, and/or future destinations, as well as new information from the customer such as, for example, number of passengers per cabin, currently preferred destination, and so forth. In other embodiments, the customer's sailing preferences may include the price range; the desirable range of dates and duration of the cruise in which the customer is willing or able to participate; the desired destination or region of the world where the cruise will travel to as well as the home gateway from which the cruise ship will depart; the cruise ship supplier or company which the customer may have preference for including specific cruise ships within a cruise line's fleet; and/or special conditions pertaining to the customer which might make him eligible for discounted rates or particular sailings.

[0141]FIG. 7 illustrates one embodiment of customer preference web page 710 or qualification display with a preference section 720. In the exemplary qualification display 710, the preferences section 720 includes number of persons per cabin 721, dates of travel 722, home gateway 723, number of nights of travel 724, day of embarkation 725, and port of embarkation 726. In addition, the preferences section 720 enables the agent to view a set of travel regions 727, itineraries 728, suppliers 729, ships 730, and/or ports 731. In addition, the agent may search by supplier contract number 732. In one embodiment, the cruise selling and booking system 110 may generate such information from the database collection 230, however, it is recognized that in other embodiments, the information may be entered in whole or in part as separate data or not included at all.

[0142] In the exemplary qualification display 710, the agent has restricted the search to cruises allowing two persons per cabin, from Sep. 8, 2001 to Sep. 16, 2001 sailing for seven nights, and departing on any day of the week.

[0143] When the agent has entered the appropriate information listed above, the agent computer 240 submits the customer's sailing preferences to the cruise selling and booking system 110. The cruise selling and booking process 310 receives the information and searches for cruise sailings in the cruise line database 234 that fall within the range of the submitted criteria.

[0144] If no matching cruise sailings are found, the cruise selling and booking process 310 may inform the agent computer 240 that no sailings were found, or the cruise selling and booking process 310 may return cruise search results 740 that include a set of “suggested” cruise sailings that do not meet the criteria but still may be of interest to the customer. Such “suggested” cruise sailings may be selected on the basis of several factors. For example, the cruise selling and booking process 310 may suggest cruises sailings that depart on dates before or after those specified by the customer, cruise sailings that provide special discounts for attributes that match the customer's profile (e.g., children cruise free), cruise sailings that match preferences that the customer has previously requested, as well many other cruise sailings.

[0145] If matching cruise sailings are found, the cruise selling and booking process 310 sends a set of matching cruise sailings to the agent computer 240. As described above, the cruise selling and booking process 310 may also include a set of suggested cruise sailings with the matching cruise sailings. For a more detail description of one embodiment of the qualification state (block 440), please see the section below entitled “Cruise Module Processes—Cruise Qualification Process.”

[0146] After the agent computer 240 receives the set of cruise sailings, the agent may select a subset of the cruise sailings and send them to the cruise selling and booking process 310 and proceed to the cruise detail state (block 450).

[0147]FIG. 7 illustrates an exemplary set of cruise search results 740 that enables the agent to view and select number of cruise sailings by marking the “check box” 742 that corresponds to the selected cruise package. An exemplary cruise search results section 740 is shown in FIG. 7 wherein the first cruise package is the Carnival Tropicale ship scheduled to depart on Sep. 8, 2001 for a seven day cruise to the Western Caribbean. The agent has selected the Carnival Tropicale, the Princess Dawn Princess, and the Royal Caribbean Explorer of the Seas. In one embodiment, the cruise selling and booking process 310 may also include guidelines for ranking the order in which the cruise sailings are displayed and/or provide separate designations for “matching” and “suggested” cruise sailings, such as, for example, by availability, by departure date, by average cost, and so forth. In FIG. 7, the agent has selected three cruise sailings and may proceed to the cruise detail state (block 450).

[0148] It is recognized that FIG. 7 illustrates one embodiment of a cruise search results section 740 and that in other embodiments, other cruise search results sections 740 may be used. For example, in another embodiment, the cruise search results section 740 may include information about pricing, such as Block pricing and/or FIT pricing information, as well time stamp information indicating when the information was last updated by time and date.

[0149] 4. Cruise Detail

[0150] In the cruise detail state (block 450), the cruise selling and booking process 310 receives the selected cruise sailings and retrieves additional details about the cruise sailings such as, for example, availability, rate options, pricing information, package information, and so forth.

[0151] In one embodiment, the cruise selling and booking process 310 enables the agent to select a cruise sailing, view and select available rate options for the selected cruise sailing, view pricing information based on the selected rate options, and compare sailing/pricing information for multiple cruise sailings. For a more detailed description of one embodiment of the cruise detail state (block 450), please see the section below entitled “Cruise Module Processes—Cruise Comparison Process.”

[0152]FIG. 8 illustrates one embodiment of a cruise detail web page 810 wherein the agent computer 240 is presented with a list of the selected cruise sailings in the “Select A Cruise” section of the display 820. In the exemplary cruise detail web page 810, the agent has selected three cruise sailings, the Carnival Tropicale, the Princess Dawn Princess, and the Royal Caribbean Explorer of the Seas. From those sailings, the agent may choose to view additional information which is displayed in a “Cruise Detail” section 830.

[0153]FIG. 9 illustrates one embodiment of the cruise detail web page 810 after the agent has selected the Princess Dawn Princess, and the cruise selling and booking process 310 has retrieved the available rate options 910 for the Princess Dawn Princess and placed them in the “Cruise Detail” section 830. Rate options, also referred to as pricing options, are the representative pricing categories that the agent selects for the customer. Each cruise sailing has a variety of rate options that set the prices for the multiple categories of cabins. Travel agents use the rate options along with other pricing information to find the best rate for the customer while at the same time maximizing their own commission. Due to the large number of possible rate options for each of the multiple cabin categories, it is often useful for the agent to limit the pricing information of each sailing to a smaller subset of information based on the customer's profile and preferences. In one embodiment, the cruise selling and booking process 310 may restrict the number of rate options that may be selected (e.g. to four or five). These rate options may include the discounts associated with package deals for air and extended stay vacation. Other examples include local resident discounts, senior discounts, group rates, and so forth. The display in FIG. 9 includes a rate option “code” 912, name and detail of the code 914, the dates for which each code is valid 916, as well as the status of the option 918. In the exemplary display, the user has selected rate code BNPTPXUSD for the Princess Dawn Princess cruise sailing.

[0154] It is recognized that FIG. 9 illustrates one embodiment of available rate options 910 and that in other embodiments, other available rate options 910 may be used. For example, in other embodiments, different types of data may be displayed and/or some of the data may be excluded from the display.

[0155]FIG. 10 illustrates one embodiment of a cruise detail web page 810 wherein the prices for the available cabin categories for the designated sailing that match the selected rate options are displayed in a price matrix 1010. The exemplary display 810 shows the “Best Price” matrix 1010 which includes a category code 1011, an upgrade field 1012, cabin category type 1013, promotion price 1014, best full tariff price 1015, best agency price 1016, and pricing description information 1017.

[0156] The exemplary price matrix 1010 displays the pricing information for the selected rate options in table format with heading descriptions at the top of the table such that each row includes information that corresponds with an individual pricing plans. For example, for category 6D, the GG promotional rate is $99999.00, the Best Fit price is $3400.00 and the Best TRVL price is $2900.00. In one embodiment, the cruise selling and booking process 310 may return a “not available” designation (e.g., “N/A”) if no cabins are available in that category. To the left of each pricing plan option, there is an arrow 1018 that enables the agent to open a window directly underneath the row in question that will display the specifics of the pricing plan. There is also another arrow 1019 that enables an agent to select a pricing category for display. In one embodiment, the price matrix may include functionality to further refine the searching criteria. For example, the default for the passenger field is two persons, upon changing an entry in a field of the price matrix window, the entire pricing scheme may be updated in real time.

[0157] In addition, the price matrix may be altered such as, for example, by reducing the number of viewed items (e.g., when the agent selects “Show Selected”), displaying additional detailed information regarding a sailing, as well as showing all of the locations of cabins, lounges, and entertainment on any selected ship (e.g., when the agent selects “Deck”). In one embodiment, the agent may switch between a variety of price matrices such as, for example, a price matrix with the “best price” information, a price matrix with detailed information, a price matrix with airfare information, and so forth. For example, in the exemplary display of FIG. 10, the agent is viewing the “Best Price” matrix and may select the “Detail” button 1020 to display a “Detail” price matrix with detailed information on the Princess Dawn Princess cruise sailing on Sep. 9, 2001.

[0158] In one embodiment, the agent computer 240 may select another cruise from the “Select A Cruise” section 820 and view more detailed information about the newly selected cruise in the “Cruise Detail” section 830.

[0159] While the cruise detail display 810 may, in one embodiment, display details for one cruise package at a time, the display may also include a side-by-side compare display section 1110 as depicted in FIG. 11. The side-by-side compare display 1110 allows the agent to evaluate a number of specific sailings, under specific criteria, in a side-by-side comparison. The windows may be cleared and populated with new information.

[0160] The agent may choose to add one of the categories of the sailing in the cruise detail section to the compare display by selecting a category in the price matrix 1010. In the exemplary display, the category may be sorted by selecting the arrow 1019 in the price matrix. It is recognized that in other embodiments, the agent may select a category using other user interface techniques that are well known in the art. In one embodiment, the compare display 1110 may allow the user to display detailed information of up to N different cruise categories at one time where N is an integer determined, for example, by the size of the display. The exemplary compare display 1110 of FIG. 11 allows the user to display up to three different cruise categories at one time (N=3).

[0161] The cruise selling and booking process 310 receives the agent's selections of specific pricing categories from “Cruise Detail” section 830, retrieves the relevant information, and places the information in an available compare display window 1112, 1114. For example, in the exemplary compare display 1110, the ship information, and the associated sailing date is located in an information bar. In one embodiment, the compare display information includes itinerary type, rate options, number of nights for which the cruise sails, category, and so forth. The compare display 1110 may also provide the agent with access to a number of other features. For example, the agent may hold an “option” for the customer or “book” a reservation using the buttons below the information bar. Furthermore, the agent may “quote” a price to the customer that will last for a predetermined amount of time. The agent may also place a cabin “on hold” for a predefined amount of time. If the requested cabin is not available, then the agent may request another cabin. In addition, by selecting the “Clear” button 1116, the agent may remove the specific pricing information from the compare display and allow for the window to either remain open or be filled with another selected set of category price information.

[0162] In one embodiment, all of the windows may be compared simultaneously and a scrolling feature may be initiated ensuring that all of the windows will display the same sets of information to agent at the same time. Thus, when the agent scrolls down the first window in the display, the other windows will also scroll down simultaneously. Furthermore, when one set of data is removed and another is added, it will appear in the same position as the other two, so that the information display may remain synchronized.

[0163] The cruise details and pricing information displayed in FIGS. 8, 9, 10, and 11 illustrate various embodiments of the invention, however, it is recognized that in other embodiments different sets of cruise detail information may be presented to the agent computer 240. In addition, access to the cruise detail may also be presented to the agent computer 240 in a different layout. For example, the price matrix may be arranged by price rather than rate options and categories. Furthermore, in some embodiments, some of the pricing information may be restricted if the user is a customer. For example, the price matrices may display a brochure price and an Internet discount price rather than providing the customer with all possible pricing schemes, though it is recognized in other embodiments, the customer may have access to all pricing information.

[0164] After comparing the various cruise packages, the agent may inquire as to whether the customer wants to book one of the cruise packages. If the customer has not found the right package, the agent may view more cruise details and/or modify the customer's cruise package criteria.

[0165] If the customer has decided to book one of the cruise packages, the cruise selling and booking process 310 may then proceed to the booking state (block 460).

[0166] 5. Bookings

[0167] Proceeding to the booking state (block 460), the cruise selling and booking process 310 requests more detailed information about the customer and the customer's selected cruise package. In one embodiment, the cruise selling and booking system 110 presents the agent computer 240 with a cruise booking web page 1210 as shown in FIG. 12. The exemplary cruise booking web page 1210 includes a booking worksheet 1220, wherein pricing information may be viewed per passenger, in total, as well as according to the agent's commission. The worksheet 1220 includes standard cruise pricing information 1212, such as, cabin fees, government fees, and port charges. In addition, the worksheet 1210 includes an air and miscellaneous section 1214 that permits the agent to adjust the prices to include excursions (e.g., helicopter tour, mountain biking trip, day hike, snorkeling outing, etc.), pre-paid expenses, air fares, additional air, pre-post add-on, other add-ons, miscellaneous fees, tour conductor fees, coupons, and so forth. Furthermore, the exemplary worksheet 1210 includes a section for taxes and fees 1216.

[0168] In one embodiment, the agent computer 240 may submit reservation information pertaining to the cruise package such as cabin number, deck level, location, bed type, special requests, smoking preference, dining reservations, as well as other related information as illustrated in FIG. 13. The exemplary reservation information web page 1310 includes a general information section 1320, a cabin section 1330, a dining request section 1340, and an option section 1350. The general information section 1320 includes information about the cruise package, such as, for example, Trip Start Date, Trip End Date, Itinerary, Supplier Contract Number, Order Number, Rate Option, Agent of Record, and so forth. The cabin section 1330 includes information about the reserved cabin, such as, for example, cabin number, status, deck, location, smoking preference, bath type, bed type, and so forth. The dining request section 1340 includes information about the dining options, such as seating, status, table size, smoking preference, and so forth. The option section 1350 includes information about the option, such as expiration, extension date, final payment due date, a use extension date field, and so forth.

[0169] After the agent computer 240 submits the information, the cruise selling and booking process 310 may assign a customer order number. For a more detailed description of the booking state (block 460), please refer to the section below entitled “Booking Module Processes-Cruise Booking Process.” After the agent submits the booking information, the cruise selling and booking process 310 proceeds to the payments state (block 470).

[0170] 6. Payments

[0171] In the payments state (block 470), the cruise selling and booking process 310 receives the customer's payment information from the agent computer 240, and directs the funds to appropriate entities preferably via a back office process.

[0172] In one embodiment, the cruise selling and booking process 310 may contact the cruise lines and other third parties directly or via a separate system to provide payment information. For a more detailed description of the payment state (block 470), please refer to the section below entitled “Booking Module Processes Cruise Payment Process.”

[0173] After the cruise selling and booking system 110 receives payment information, the back office process verifies that the customer's payment is valid and that the appropriate entities are paid.

[0174]FIG. 14 illustrates one embodiment of a payment information web page 1410. The “Credit Card Information” section 1420 includes information about the customer's credit card and/or debit card such as card number, expiration date, name as it appears on the card, zip code of card holder, authorization code, and so forth. The “Supplier” section 1430 includes information about the various suppliers in the cruise package that require payment. Suppliers may include, for example, the cruise line, excursion groups, travel insurance companies, airlines, and so forth.

[0175] While an overview of the process of online booking of cruises has been discussed, it is recognized that other methods of booking online cruises may also be used. For example, the cruise selling and booking process 310 may use only a subset of the discussed states such as using only the qualified state, the cruise detail state, and/or the booking state. In addition, in other embodiments, the customer may interact directly with the cruise selling and booking system 110 without the assistance of an agent or with partial assistance from an agent.

[0176] B. Customer Module Processes

[0177] In one embodiment, the cruise selling and booking system 110 may also include a customer module 320 that includes a collection of customer module 320 processes. The exemplary customer module 320 processes shown in FIG. 3 include a customer add process 322, a customer search process 324, and a customer update process 326.

[0178] 1. Customer Add Process

[0179] In one embodiment, the customer module 320 may include a customer add process 322 that permits the agent to add new customers to the customer database 232. When the new customer function is selected, a series of fields are displayed on the agent computer 240 in a web page document. The agent enters customer information into the fields which may include first name, last name, gender, phone number, address, e-mail address, birth date, age, interests, hobbies gateway city, marketing information, cabin preferences, favorite excursion activities, and so forth. As illustrated above, the customer information may include standard contact information as well as social and recreational activities in which the customer may be interested in participating, on-shore activities such as shopping, dining, and events which may require prior reservations to attend, and so forth. In one embodiment, all of the above fields need not all be filled in at the time of adding a customer. For example, the agent may store any information he has entered and return at a later time to add additional customer information as it becomes available. In some embodiments, however, one or more fields may be optionally tagged so as to require certain information to be entered within the field before proceeding to a subsequent function. In addition, data validation techniques may be used to ensure that only proper customer information is entered in the database (e.g., credit card check, phone number validation, email validation, etc.) For more information on the customer information, please refer to the section above entitled “Customer Database.”

[0180] In one embodiment, adding new customers or editing existing customer information may occur during the time when an agent is in communication with a customer. The agent is able therefore to populate the customer information fields by asking the customer about the appropriate information which should be entered enabling the agent to construct a detailed customer profile.

[0181] 2. Customer Search Process

[0182] In one embodiment, the customer module 320 may also include a customer search process 324 that permits the agent to search for existing customers in the customer database 232.

[0183] As discussed above, the customer search process 324 receives a set of search criteria. The search criteria may include information, such as, the customer's last name, first name, state, zip code, phone number, customer number, order number, and/or reservation number. The customer search process 324 then formulates a query and sends the query to the customer database 232. Next, the customer search process 324 receives the query results from the customer database 232. If there are no items in the query results, the customer search process 324 returns a “No Results Found That Match Your Query” message. If there are items in the query results, the customer search process 324 organizes the search query results or part of the query into a data structure, such as, for example, a table or a list, and returns the query results. In one embodiment, a user may then select the item that matches the customer for which he is searching. If there is only one item in the query results, the customer search process 324 may instead return a display of the corresponding data for the single search query result, rather than a one item list of search results, thus permitting the user to bypass the selection of the item from the list.

[0184] 3. Customer Update Process

[0185] In one embodiment, the customer module 320 may also include a customer update process 326 that permits the agent to update an existing customer's record in the customer database 232.

[0186] As discussed above, the customer update process 326 may incorporate part or all of the customer search process 324 enabling the user to find the customer for which he would like to update the record. Next, the customer update process 326 receives a set of data that has been entered by the user. In one embodiment, the customer update process 326 receives a copy of the entire data record, whereas in other embodiments, the customer update process 326 may only receive copies of the data record that were changed and/or added. The customer update process 326 then determines which data fields have been updated and sends an update request with the changed data to the customer database 232. In one embodiment, the customer update process 326 may send a message to the user signifying whether the update was successful.

[0187] C. Cruise Module Processes

[0188] In one embodiment, the cruise selling and booking system 110 may also include a cruise module 330 that includes a collection of cruise module 330 processes. The exemplary customer module 320 processes shown in FIG. 3A include a cruise information add process 332, a cruise search process 334, a cruise qualification process 336, and a cruise comparison process 338.

[0189] 1. Cruise Information Add Process

[0190] In one embodiment, the cruise module 330 may include a cruise information add process 332 that adds cruise information to the cruise line database 234.

[0191] Cruise information may be collected from a variety of sources. For example, information may be collected from the travel agents, the cruise lines, a cruise line clearing house system, and so forth. Thus, the cruise information add process 332 may receive data from users at web site browsers, via automatic downloads, via import functions, and so forth.

[0192] The cruise line information may include, for example, cruise line, cruise line contact information, cruise ships, contract information, itinerary, categories, cabins, and so forth. For more information on the cruise line information, please refer to the section above entitled “Cruise Line Database.”

[0193] The cruise information add process 332 receives a set of cruise line data and formats the data for submission to the cruise line database 234. Next, the cruise information add process 332 submits the formatted data to the cruise line database 234. In one embodiment, the cruise information add process 332 may send a message to the user signifying whether the add was successful.

[0194] 2. Cruise Search Process

[0195] In one embodiment, the cruise module 330 may include a cruise search process 334 that searches for information in the cruise line database 234.

[0196] The cruise search process 334 receives a set of search criteria. The search criteria may include information, such as, the cruise line identifier, cruise ship identifier, sailing dates, destination, home gateway, and so forth. The cruise search process 334 then formulates a query and sends the query to the cruise line database 234. Next, the cruise search process 334 receives the query results from the cruise database. If there are no items in the query results, the cruise search process 334 returns a “No Results Found That Match Your Query” message. If there are items in the query results, the cruise search process 334 organizes the query results or part of the query results into a data structure, such as, for example, a table or a list, and returns the query results. In one embodiment, a user may then select the search result that matches the cruise information for which he is searching. If there is only one item in the query results, the cruise search process 334 may instead return a display of the corresponding data for the single search result, rather than a one item list of query results, thus permitting the user to bypass the selection of the item from the list.

[0197] 3. Cruise Qualification Process

[0198] In one embodiment, the cruise module 330 includes a cruise qualification process 336 that permits the agent to qualify customers for cruise sailings in the cruise line database 234.

[0199] The cruise qualification process 336 receives a set of qualification criteria, such as, for example, booking history, preferred suppliers, number of passengers, currently preferred destination, price range, the desirable range of dates and duration of the cruise in which the customer is willing or able to participate, the desired destination or region of the world where the cruise will travel to as well as the home gateway from which the cruise ship will depart, and/or special conditions pertaining to the customer which might make him eligible for discounted rates or particular sailings. In one embodiment, the cruise qualification process 336 may also query the customer database 232 to include information that may be of interest for selecting cruises. For example, the cruise qualification process 336 may query the customer database 232 to determine whether the customer prefers high-end cruises or more economical cruises, whether the customer may qualify for a senior citizen discount, and so forth. The cruise qualification process 336 formats the criteria and sends a query to the cruise line database 234 with the criteria. The cruise qualification process 336 then receives a set of potential cruise line sailings from the cruise line database 234. If there are no items in the set of potential cruise line sailings, the cruise qualification process 336 returns a “No Results Found That Match Your Query” message. If there are items in the set of potential cruise line sailings, the cruise qualification process 336 organizes the set of potential cruise line sailings or a part of the potential cruise line sailings into a data structure, such as, for example, a table or a list, and returns the set of potential cruise line sailings. In one embodiment, a user may then select one or more potential cruise sailings that are of interest. If there is only one item in the set of potential cruise line sailings, the cruise qualification process 336 may instead return a display of the corresponding data for the single cruise line sailing, rather than a one item list of set of potential cruise line sailings, thus allowing the user to bypass the selection of the item from the list.

[0200] While the above described embodiment illustrates qualifying customers for cruise sailings, it is recognized that the customers may be qualified for other objects, such as, for example, cruise packages, on-shore excursions, advertisements, and so forth.

[0201] 4. Cruise Comparison Process

[0202] In one embodiment, the cruise module 330 includes a cruise comparison process 338 that permits the agent to compare cruise package information in the cruise line database 234.

[0203] The cruise comparison process 338 receives a set of selected cruise sailings. In one embodiment, the cruise comparison process 338 then retrieves information related to the selected cruise sailings from the cruise line database 234. The cruise comparison process 338 returns a summary of information for the selected sailings. Next, the cruise comparison process 338 receives a selected sailing and retrieves the rate options that correspond to the selected sailing. The cruise comparison process 338 then formats and returns the rate options. After receiving a set of selected rate options, the cruise comparison process 338 then searches the cruise sailing database for pricing information related to the set of selected rate options and formats the pricing information into a price matrix and returns the price matrix. In one embodiment, the cruise comparison process 338 may instead, or in addition to the above, query an external source for pricing information, such as, for example, a cruise line, a cruise line database 234, a cruise line clearing house system, and so forth.

[0204] In one embodiment, the cruise comparison process 338 may receive a request to view a different set of pricing information, such as for example, the best price matrix, the detailed price matrix, the air/sea matrix, and so forth. The cruise comparison process 338 then retrieves the requested pricing information for the selected matrix, process, and formats the data for display in one of the compare display windows. For example, if the best price matrix is requested, the cruise comparison process 338 may process the pricing data to select only the lowest prices for display in the pricing matrix. In other embodiments, the cruise comparison process 338 may already have the data stored, and thus a retrieval is not necessary.

[0205] The cruise comparison process 338 may also receive a compare display request wherein one of the categories in the price matrix has been selected for display in the compare display. The cruise comparison process 338 then retrieves additional pricing information for the selected category and formats the data for display in one of the compare display windows. In other embodiments, the cruise comparison process 338 may already have the data stored, and thus a retrieval is not necessary.

[0206] The cruse comparison process may then receive a different cruise sailing selection and repeat the above described process for the newly selected cruise sailing.

[0207] D. Booking Module Processes

[0208] In one embodiment, the cruise selling and booking system 110 may also include a booking module 340 that includes a collection of booking module 340 processes. The exemplary booking module 340 processes shown in FIG. 3A include a cruise booking process 342 and a cruise payment process 344.

[0209] 1. Cruise Booking Process

[0210] In one embodiment, the booking module 340 may also include a cruise booking process 342 that permits the agent to book cruises for his customers.

[0211] The cruise booking process 342 receives a set of booking or reservation information. The cruise booking process 342 may then format the information and send the information to the activity database 236. This information may include, for example, the cruise ship, the sailing, cabin number for which the customer will be traveling and so forth. In other embodiments, the cruise booking process 342 may format the information and send a booking request to the appropriate cruise line in a variety of formats, such as, for example, via facsimile, via an external query, via an external function call, and so forth. The cruise booking process 342 may then wait for a response from the cruise line. If cruise line responds that the requested cabin is not available, the cruise booking process 342 may return an error message stating “The Requested Cabin is No Longer Available.” If the cruise line responds with a confirmation of the booking, the cruise booking process 342 may then return a confirmation and may then, in some embodiments, update the activity database 236.

[0212] 2. Cruise Payment Process

[0213] In one embodiment, the booking module 340 may also include a cruise payment process 344 that permits the agent to submit payments for his customers.

[0214] The cruise payment process 344 receives a set of payment information. The cruise payment process 344 may then format the information and send the information to the cruise line database 234, the customer database 232, the activity database 236, and/or a payments database (not shown). This information may include, for example, vendor identification, amount due, credit card information, expiration date, name of cardholder, and so forth. In other embodiments, the cruise payment process 344 may format the information and send a payment notice to the appropriate vendor(s) (e.g., the cruise line, the off-shore excursion companies, the insurance companies, etc.) in a variety of formats, such as, for example, via facsimile, via an external query, via an external function call, and so forth. The cruise payment process 344 may then wait for a response from the vendor(s). If vendor responds that the payment was not accepted, the cruise payment process 344 may return an error message stating “Payment Unable to be Processed.” If the vendor responds with a confirmation of the payment, the cruise payment process 344 may then return a confirmation/receipt and may then, in some embodiments, update the cruise line database 234, the customer database 232, the activity database 236, and/or the payment database. In other embodiments, the cruise payment process 344 may perform a credit check with a third party system (e.g., banking system, credit card system, etc.) to verify that the customer has the appropriate funds/credit limits to make the payment.

[0215] While various embodiments of the above processes have been disclosed, it is recognized that the processes may be implemented in a variety of manners that are well known to those skilled in the art.

[0216] VI. Agent Functions

[0217] In one embodiment, agents may be assigned to customers based in part on past activity, such as, for example, sending the customer a brochure, qualifying a customer, providing the customer with a quote, or booking a customer on a cruise. The relationship between the agent and the customer may then be used to track the agent's sales activity, determine the agent's commission, and so forth.

[0218] In one embodiment, agents may have additional access to part of the cruise selling and booking system 110. These functions may be used to assist the agent in pursuing and tracking customer leads and/or sales and help to increase the agent's likelihood of booking a customer on a cruise.

[0219] A first function matches available cruises with previously entered customer preferences. This function uses information stored in the customer database 232, the cruise line database 234, and/or the activity database 236, to determine which customers would be interested in a particular cruise based on the information included in the customer information and customer qualification fields. For example, if a customer had specified a desire to travel to the Bahamas during a certain time frame with a particular cruise line, but had not yet booked the cruise, an agent may perform searches based on this information and find matching cruises prior to contacting the customer. When one or more cruises have been identified by the agent as being desirable to the customer based on stored preferences and information, the agent may then contact the customer having the information readily available, increasing the likelihood the customer would book the cruise and improving the customer's experience with the cruise booking process 342 overall.

[0220] Further functions related to pursuing customer leads include routines designed to identify previous customers found in the customer database 232 and matching cruises to these customers based on their prior sailing experiences. This function automates portions of the marketing process and improves the agent's ability to gather return bookings from previous customers.

[0221] An additional function provides special offer matchings wherein the cruise selling and booking system 110 may search through the cruise line database 234 for special offers which do not apply to all customers and attempt to match cruises with customers in the customer database 232. Typically, such offers are based on specific restrictions such as age or state of residence and offer a reduced rate to individuals that meet the qualification restrictions. The automated matching features of the cruise selling and booking system 110 permit the agent to specifically target customers who meet the restricted requirements and to provide the agent with the customer's contact information so that the customer may be contacted directly.

[0222] The cruise selling and booking system 110 may also include report generation functions that allow agents to view reports based on, for example, their past activity, past commission, year to date sales, and so forth.

[0223] The above mentioned functions provide the agent with the necessary tools to better market available cruises to customers. The automated searching functions refine the process of matching customers with potentially desirable cruises and thus improve the likelihood that the customer will book a cruise with the agent. Furthermore, the search refinement reduces the amount of time the agent spends contacting customers who would not likely be interested in the particular cruise or are not qualified for the price which the cruise would be offered. Taken together, these functions improve agent booking success rates, minimize unnecessary customer interaction time, and improve a customer's experience with the cruise selling and booking process 310.

[0224] The additional functionality of greater agent access to the cruise selling and booking system 110 in one embodiment, advantageously provides the agent with the resources needed to effectively guide the customer through the cruise selection and booking process while at the same time maintaining agent ownership of the customer and maximizing the agent's commission. This information is organized in a manner so as to be easily accessible to the agent and to improve the speed and efficiently with which the agent sells cruise packages to the customers. The customer's experience in choosing a cruise is improved increasing the likelihood that the customer will book the cruise and in the future utilize the services of the same agent.

[0225] VII. Conclusion

[0226] While certain embodiments of the invention have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the present invention. For example, although described herein with reference to the Internet 125, the cruise selling and booking system 110 may be used in other types of interactive communication systems. Accordingly, the breadth and scope of the present invention should be defined only in accordance with the following claims and their equivalents. 

What is claimed is:
 1. A method for selling and booking cruise packages utilizing a web browser program to electronically communicate with a cruise service web server via a data communications network, the method comprising: utilizing the web browser program to log onto the cruise service web server over the data communications network; submitting to the cruise service web server customer profile information relating to a customer; submitting to the cruise service web server customer sailing preference information relating to the customer; receiving a set of cruise sailings in a first electronic document from the cruise service web server that relate to the customer sailing preference information; selecting a plurality of cruise sailings from the set of cruise sailings; submitting the plurality of cruise sailings to the cruise service web site; receiving detailed cruise information in a second electronic document form the cruise service web server relating to the plurality of cruise sailings; interactively comparing the detailed cruise information; submitting a booking request for one of the plurality of cruise sailings to the cruise service web site; and receiving a booking confirmation from the cruise service web site.
 2. A cruise booking system implemented in a web server environment wherein a plurality of remote users use web browser programs to electronically communicate with the cruise booking system via a data communications network that provides information for a plurality of cruise sailings and facilitates booking of cruises, the cruise booking system comprising: a customer database configured to electronically store customer data; a cruise line database configured to electronically store cruise line data; a customer management program module configured to track and manage information relating to a plurality of customers in the customer database; a cruise information program module configured to search for and provide information about requested cruise sailings in the cruise line database; and a cruise booking program module configured to book reservations for a selected cruise sailing.
 3. The cruise booking system of claim 2 further comprising: an agent database configured to electronically store agent data; an agent management program module configured to track and manage a plurality of agents and their relationships with the plurality of customers.
 4. The cruise booking system of claim 3 wherein the agent management program module is further configured to determine whether an agent has ownership over a specified customer.
 5. The cruise booking system of claim 3 wherein the agent management program module is further configured to determine which agent, if any, has ownership over a customer.
 6. The cruise booking system of claim 3 wherein the agent management program module is further configured to determine commission for the plurality of agents based at least upon the relationship between the plurality of agents and the plurality of customers.
 7. The cruise booking system of claim 2 further comprising: a rate options program module configured to retrieve and display rates options for a selected cruise sailing.
 8. The cruise booking system of claim 2 further comprising: a pricing display program module configured to construct an electronic price matrix of information from the cruise line information database illustrating rates for cabin categories of a cruise sailing.
 9. The cruise booking system of claim 2 further comprising: a compare display program module configured to construct a side-by-side, multi-window electronic display of at least two cruise packages where the at least two cruise packages may be compared at the same time.
 10. The cruise booking system of claim 2 further comprising: a payment program module configured to receive and process payment requests.
 11. The cruise booking system of claim 10 wherein the payment program module is further configured to send payment information to an external banking system.
 12. The cruise booking system of claim 2, wherein the cruise information program module is further configured to determine available fares by querying a computerized reservation system to determine the availability of the requested cruise sailings.
 13. The cruise booking system of claim 2, wherein the cruise information program module is further configured to receive information about a plurality of cruise lines, to convert the information into a common format, and to electronically display the converted information in the common format.
 14. The cruise booking system of claim 2, wherein the cruise information program module is further configured to retrieve cruise pricing data from a computerized reservation system.
 15. The cruise booking system of claim 2, wherein the cruise information program module is further configured to retrieve cruise pricing data from a contract database.
 16. The cruise booking system of claim 2, wherein the cruise booking program module is further configured to reserve a cruise cabin by contacting a computerized reservation system to verify the availability of the cruise cabin and to book the cruise cabin.
 17. A method for booking cruises utilizing a cruise web server environment to electronically communicate with a plurality of remote users using web browser programs, the method comprising: receiving a range of search criteria from a remote user's web browser; obtaining cruise package information that relates to the range of search criteria; sending cruise package information to the remote user's web browser program; receiving a selected cruise package from the remote user's web browser program; and booking the selected cruise package.
 18. In a network comprising a user node having a browser program coupled to the network, the user node providing requests for information on the network, a network node comprising: a cruise booking node responsive to a request from the user node to return cruise package information that relates to a range of search criteria and a request from the user node to book a selected cruise package from the user node.
 19. A system for booking cruises, the system comprising: an electronic data structure of cruise package information wherein the cruise package information includes information from a plurality of cruise lines; a first program module configured to receive requests for cruise package information; a second program module configured to obtain cruise package information from the data structure based at least upon a search request; a third program module configured to prepare cruise package information for electronic display; a fourth program module configured to output cruise package information for electronic display; and a fifth program module configured to book a cruise package based at least upon a booking request.
 20. In a computer system that implements a web site that is accessible to a community of travel agents using web browser programs to communicate via a data communications network, a method of assisting the community of travel agents in selling cruises to a plurality of customers, the method comprising: receiving an customer identifier from a travel agent's web browser program, wherein the customer identifier represents a customer; using the customer identifier to retrieve from an electronic customer database corresponding customer information; receiving customer preferences from the travel agent's web browser program, wherein the customer preferences include at least one of the customer's preferred dates of travel, preferred cruise destination, or preferred cruise line supplier; using least one of the customer preferences or the customer information to retrieve from an electronic cruise sailing database a set of potential cruise packages; transmitting the set of potential cruise packages to the travel agent's web browser program, wherein the set of potential cruise packages are viewable in a first electronic web document; receiving an electronic identifier representing a selected cruise package from the travel agent's web browser program, wherein the selected cruise package is chosen from the set of potential cruise packages; and booking the customer on the selected cruise package.
 21. The method of claim 20 further comprising: receiving an agent identifier from the travel agent's web browser program, wherein the identifier represents the travel agent; and determining and recording within an electronic travel agent database compensation for the travel agent for the booking.
 22. The method of claim 20, wherein transmitting the set of potential cruise packages to the travel agent for presentation to the customer further comprises: receiving a set of selected pricing categories from the travel agent's web browser program; using the selected pricing categories to query the electronic cruise sailing database for a set of cruise packages pricing information related to the selected pricing categories; and transmitting the set of cruise package pricing information to the travel agent's web browser program in a set of pricing matrices viewable in a second electronic web document, wherein the set of pricing matrices are organized by cruise sailing and pricing categories.
 23. The method of claim 20, wherein transmitting the set of potential cruise packages to the travel agent's web browser for presentation to the customer further comprises: transmitting a side-by-side comparison viewable in a third electronic web document, wherein the travel agent may select at least two of the set of potential cruise packages to be presented in the side-by-side comparison display for direct comparison viewable in a fourth electronic web document.
 24. In a computer system that implements a web site that is accessible to a community of customers using web browser programs to communicate via a data communications network, a method of assisting the community of customers in selecting and booking cruises, the method comprising: receiving a customer identifier from a customer's web browser program; using the customer identifier to retrieve from an electronic customer database corresponding customer information; receiving customer preferences from the customer's web browser program, wherein the customer preferences include at least one of the customer's preferred dates of travel, preferred cruise destination, or preferred cruise line supplier; using least one of the customer preferences or the customer information to retrieve from an electronic cruise sailing database a set of potential cruise packages; transmitting the set of potential cruise packages for display in a web document to the customer's web browser program; receiving an electronic identifier representing a selected cruise package from the customer's web browser program, wherein the selected cruise package is chosen from the set of potential cruise packages; and booking the customer on the selected cruise package.
 25. The method of claim 24, wherein transmitting the set of potential cruise packages to the customer's web browser program further comprises: transmitting a side-by-side comparison display for display in the web document, wherein the customer may select at least two of the set of potential cruise packages to be presented in the side-by-side comparison display for direct comparison.
 26. A system for selling cruises to a customer implemented in a web server environment wherein a plurality of remote users utilize web browser programs to electronically communicate with the system via a data communications network, the system comprising: a cruise search software module configured to receive a set of customer preferences from a remote user's web browser program, to search for a set of cruise packages based on at least the set of customer preferences, and to transmit the set of cruise packages to the user's web browser program; and a reservation software module configured to receive a reservation request from the user's web browser program, wherein the reservation request is selected from the set of cruise packages, and to reserve a cruise package corresponding to the reservation request.
 27. The system of claim 26 further comprising: a customer management software module configured to receive a customer identifier related to the set of customer preferences and to maintain a record of the set of customer set of preferences organized by at least the customer identifier.
 28. The system of claim 26 further comprising: a server software module configured to transmit data between the user's web browser program and the system and wherein the server software module is in communication with at least the preferences software module, the cruise search software module, the cruise comparison software module, the reservation software module, and the cruise booking software module.
 29. The system of claim 26 further wherein the user is a travel agent.
 30. The system of claim 26 further wherein the user is a customer.
 31. A computer-implemented system which implements a computer program wherein remote users search for cruise package information and book cruises over an electronic communications network, the system comprising: a customer management software system configured to manage customer bookings and track customer preferences; an agent management software system configured to track travel agent interaction with customer accounts and determine and maintain records of compensation for the respective travel agents for successful customer bookings; and a cruise line management software system configured to maintain information on a plurality of cruise sailings wherein the information on the plurality of cruise sailings is used by the customer management software system to manage customer bookings and track customer preferences.
 32. The system of claim 31 further comprising: a booking software system configured to maintain information on customer bookings.
 33. In a computer system that implements web browser programs that are capable of accessing a remote cruise booking web site, a method of assisting a community of travel agents utilizing the web browser programs to select and book cruises via electronic communication with the remote cruise booking web site, the method comprising: submitting an electronic customer identifier to the remote cruise booking web site, wherein the customer identifier represents a customer; determining customer preferences wherein the customer preferences represent preferred cruise sailing information; submitting an electronic representation of the customer preferences to the remote cruise booking web site; receiving a set of potential cruise packages formatted for display in a first electronic web document from the remote cruise booking web site; submitting an electronic cruise package identifier representing a selected cruise package to the remote cruise booking web site, wherein the selected cruise package is chosen from the set of potential cruise packages; and submitting a booking request to the remote cruise booking web site.
 34. The method of claim 33 further comprising: receiving a set of pricing categories formatted for display in a second electronic web document from the remote cruise booking web site; selecting at least one of the set of pricing categories; submitting at least one electronic pricing category identifier representing the at least one of the set of pricing categories; receiving a set of cruise package pricing information related to the at least one of the set of pricing categories formatted for display in a third electronic web document; and using the set of cruise package pricing information to assist the customer in selecting the appropriate cruise package.
 35. In a computer system that implements a web browser program that is capable of accessing a remote cruise booking web site via an electronic communications network, a method of assisting customers in selecting and booking cruises, the method comprising: submitting a customer identifier to the remote cruise booking web site; determining customer preferences wherein the customer preferences represent preferred cruise sailing information; submitting customer preferences to the remote cruise booking web site; receiving a set of potential cruise packages from the cruise booking web site for display in a first web document; submitting a selected cruise package electronic identifier to the remote cruise booking web site, wherein the selected cruise package is chosen from the set of potential cruise packages; and submitting a booking request to the remote cruise booking web site.
 36. A system for selling cruises to a customer implemented as part of a cruise web server environment wherein a plurality of remote users communicate with the system via a data communications network utilizing web browser programs, the system comprising: a preferences programming module configured to receive a set of customer preferences from a remote user's web browser program; a cruise search programming module configured to search for cruises based on at least the set of customer preferences and to return a set of cruise packages to the remote user's web browser program; a cruise comparison programming module configured to format and transmit the set of cruise packages to the remote user' web browser program; a reservation programming module configured to receive a reservation request from the remote user's web browser program wherein the reservation request is selected from the set of cruise packages; and a cruise booking programming module configured to reserve a cruise package corresponding to the reservation request.
 37. A method for selling and booking cruise packages utilizing a web browser program to electronically communicate with a cruise service web server via a data communications network, the method comprising: means for utilizing the web browser program to log onto the cruise service web server over the data communications network; means for submitting to the cruise service web server customer profile information relating to a customer; means for submitting to the cruise service web server customer sailing preference information relating to the customer; means for receiving a set of cruise sailings for display in a first electronic document that relate to the customer sailing preference information; means for selecting a plurality of cruise sailings from the set of cruise sailings; means for submitting the plurality of cruise sailings to the cruise service web server; means for receiving detailed cruise information for display in a second electronic document relating to the plurality of cruise sailings; means for interactively comparing the detailed cruise information; means for submitting a booking request for one of the plurality of cruise sailings to the cruise service web server; and means for receiving a booking confirmation from the cruise service web server.
 38. A method for booking cruises utilizing a cruise web server environment to electronically communicate with a plurality of remote users using web browser programs, the method comprising: means for receiving a range of search criteria from the remote user's web browser program; means for obtaining cruise package information that relates to the range of search criteria; means for sending cruise package information to the remote user's web browser; means for receiving a selected cruise package from the remote user's web browser program; and means for booking the selected cruise package. 